public partial class Demo
{
    public static void RunDemo()
    {
        // 现有逻辑保持不变...
    }

    // 补全 Exercise1-Exercise6 方法
    static void Exercise1()
    {
        Console.Clear();
        Console.WriteLine("===== 题目1：三个整数由小到大输出 =====");
        Console.Write("请输入第一个整数：");
        int x = int.Parse(Console.ReadLine());
        Console.Write("请输入第二个整数：");
        int y = int.Parse(Console.ReadLine());
        Console.Write("请输入第三个整数：");
        int z = int.Parse(Console.ReadLine());
        
        int[] nums = { x, y, z };
        Array.Sort(nums);
        Console.WriteLine($"排序结果：{nums[0]} {nums[1]} {nums[2]}");
        PauseAndReturn();
    }

    static void Exercise2()
    {
        Console.Clear();
        Console.WriteLine("===== 题目2：1-100之间不是7的倍数且不包含7的数 =====");
        int sum = 0;
        for (int i = 1; i <= 100; i++)
        {
            if (i % 7 != 0 && !i.ToString().Contains('7'))
            {
                Console.Write(i + " ");
                sum += i;
            }
        }
        Console.WriteLine($"\n这些数的和为：{sum}");
        PauseAndReturn();
    }

    static void Exercise3()
    {
        Console.Clear();
        Console.WriteLine("===== 题目3：九九乘法表 =====");
        for (int i = 1; i <= 9; i++)
        {
            for (int j = 1; j <= i; j++)
            {
                Console.Write($"{j}×{i}={i*j}\t");
            }
            Console.WriteLine();
        }
        PauseAndReturn();
    }

    static void Exercise4()
    {
        Console.Clear();
        Console.WriteLine("===== 题目4：1000以内的完数 =====");
        for (int num = 1; num <= 1000; num++)
        {
            int factorSum = 0;
            for (int i = 1; i < num; i++)
            {
                if (num % i == 0)
                {
                    factorSum += i;
                }
            }
            if (factorSum == num)
            {
                Console.Write(num + " ");
            }
        }
        Console.WriteLine();
        PauseAndReturn();
    }

    static void Exercise5()
    {
        Console.Clear();
        Console.WriteLine("===== 题目5：正整数的位数及逆序 =====");
        Console.Write("请输入一个正整数：");
        int number = int.Parse(Console.ReadLine());
        string numStr = number.ToString();
        Console.WriteLine($"它是 {numStr.Length} 位数");
        
        char[] charArray = numStr.ToCharArray();
        Array.Reverse(charArray);
        Console.WriteLine("逆序数字：" + new string(charArray));
        PauseAndReturn();
    }

    static void Exercise6()
    {
        Console.Clear();
        Console.WriteLine("===== 题目6：打印菱形 =====");
        Console.Write("请输入菱形的行数（奇数）：");
        int n = int.Parse(Console.ReadLine());
        
        // 上半部分
        for (int i = 0; i < n / 2 + 1; i++)
        {
            Console.Write(new string(' ', n / 2 - i));
            Console.WriteLine(new string('*', 2 * i + 1));
        }
        // 下半部分
        for (int i = n / 2 - 1; i >= 0; i--)
        {
            Console.Write(new string(' ', n / 2 - i));
            Console.WriteLine(new string('*', 2 * i + 1));
        }
        PauseAndReturn();
    }

    static void PauseAndReturn()
    {
        Console.WriteLine("\n按回车键返回主菜单...");
        Console.ReadLine();
    }

    static void ShowMainMenu()
    {
        Console.Clear();
        Console.WriteLine("===== 前六题练习 =====");
        Console.WriteLine("1. 三个整数由小到大输出");
        Console.WriteLine("2. 打印1-100符合条件的数并求和");
        Console.WriteLine("3. 打印九九乘法表");
        Console.WriteLine("4. 求1000以内的所有完数");
        Console.WriteLine("5. 正整数的位数及逆序打印");
        Console.WriteLine("6. 打印菱形");
        Console.WriteLine("0. 退出");
        Console.Write("请选择题目：");
    }
}